

                               SCENE BUILDER


          Copyright (C) 1993 by Jerry Rivers, All Rights Reserved


BASIC OPERATION:

   Most functions are selected from the menu using the LEFT mouse button.
   These include drawing tools (e.g., lines), styles (e.g., dashed lines),
   text, disk I/O (e.g., open), display (e.g., zoom), snap grid, etc.

   Many functions also have a keyboard "shortcut key".

   Drawing colors and object "fill" patterns are selected with the LEFT
   mouse button.  Fill colors are selected with the RIGHT mouse button.

   Current draw and fill colors are shown in the menu grid to the left of
   the color squares.  The outside color is "draw"; the inside is "fill".

   Fills are turned off and on by pressing the LEFT mouse button inside the
   "fill" square. If fill mode is "on", the drawing tools in the left
   column of the menu will be filled with white; if fill is "off", they
   will be filled with light gray.


MOUSE CURSORS:

   The appearance of the graphics mouse cursor changes according to the
   function being performed (e.g., the line draw cursor is a "+" cross with
   a "/" line underneath, flood fill is a small paint roller). A full
   description is included later in the help file. 


MENU LAYOUT:

   Menu items are selected with the mouse or keyboard from a on-screen
   grid.  The menu can be moved anywhere on the screen if the LEFT mouse
   button is held down while the 4-arrow mouse cursor is in the menu top.

   Drawing tools, line styles, display controls, colors, fills, and snap
   grid controls are illustrated on the next two help screens.  Each
   function shows the corresponding keyboard shortcut key, if applicable.


      SCENE BUILDER MENU GRID (TOOLS, LINE STYLES, FILLS, AND COLOR)


  ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐
  │ straight│  add    │  solid  │  Open   │  solid  │         │  Dark   │
  │  Lines  │  Text   │  lines  │  scene  │         │  Black  │  Gray   │
  │         │         │         │         │         │         │         │
  │   "L"   │   "T"   │         │   "O"   │  fill   │         │         │
  ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  │  Group  │  cHar   │  dotted │  Save   │         │         │  Light  │
  │  lines  │  fonts  │  lines  │  scene  │  line   │  Blue   │  Blue   │
  │         │         │         │         │         │         │         │
  │   "G"   │   "H"   │         │   "S"   │  fill   │         │         │
  ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  │  draw   │  Flood  │  center │  eXit   │  slash  │         │  Light  │
  │ Polygons│  fill   │  lines  │ (stop)  │         │  Green  │  Green  │
  │         │         │         │         │         │         │         │
  │   "P"   │   "F"   │         │   "X"   │  fill   │         │         │
  ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  │Rectangle│  normal │  dashed │  Undo   │  back   │         │  Light  │
  │ (square)│  lines  │  lines  │ last chg│  slash  │  Cyan   │  Cyan   │
  │         │         │         │         │         │         │         │
  │   "R"   │         │         │   "U"   │  fill   │         │         │
  ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  │  draw   │  wide   │         │  grid   │  light  │         │  Light  │
  │ Circles │  lines  │         │ display │  slash  │   Red   │   Red   │
  │         │         │         │         │         │         │         │
  │  "C"    │         │         │  on/off │  fill   │         │         │
  ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  │  draw   │Document │         │ snap-to │  cross  │         │  Light  │
  │ Ellipses│{comment}│         │         │  hatch  │ Magenta │ Magenta │
  │         │         │         │         │         │         │         │
  │   "E"   │   "D"   │         │  on/off │  fill   │         │         │
  ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  │  rouNd  │  Blank  │  help   │  snap   │  inter- │         │         │
  │rectangle│  scene  │   (?)   │  X =    │  leave  │  Brown  │ Yellow  │
  │         │         │         │         │         │         │         │
  │   "N"   │   "B"   │  "F1"   │  Y =    │  fill   │         │         │
  ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  │  draw   │  Zoom   │         │draw Col │  close  │  Light  │         │
  │  Arcs   │ In/Out  │         │         │   dot   │  Gray   │  White  │
  │         │         │         │ [fill   │         │         │         │
  │   "A"   │   "Z"   │         │  col ]  │  fill   │         │         │
  └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘


                     SCENE BUILDER GENERAL INFORMATION


   Each drawing tool works similarly. After selecting a tool, the menu will
   disappear and a tool-specific mouse cursor will appear.

   Move the cursor to the spot you want to begin drawing the object.  To
   begin drawing, press the LEFT mouse button. Dragging the mouse draws
   using "rubber band" lines.

   If "snap" is on, the cursor will automatically move to the nearest grid
   boundary, whether the snap grid is displayed or not.


   Release mouse button to stop drawing.  Continue to draw until you press
   the RIGHT mouse button, which signals you want to quit using that tool.

   During the drawing process, you may want to move an object from the
   origin picked with the LEFT mouse button.  Press the "Alt" key (while
   still holding the LEFT mouse button down) to move the entire object to a
   new location.  A "hand" mouse cursor will appear to show "move" mode.


   Immediately after releasing the LEFT mouse button, you can construct any
   number of duplicate objects by holding the "Ctrl" key down and moving
   the mouse. Like Alt, a "hand" cursor will show "move or duplicate" mode.


   Fully enclosed objects such as rectangles, polygons, and circles can be
   "filled" with a solid color or with a colored pattern. SceneBuilder
   supports seven standard Pascal fill patterns.  Enclosed objects can be
   filled at the time of creation (if "fill" mode is "on", shown by the
   drawing tools filled with white) or can later using the flood-fill tool.


   The SHIFT key can be used to force lines to be horizontal, vertical or
   45 degrees.  Rectangles can be forced into squares using the SHIFT key.


   You can turn on a "snap" grid of any specified size to help line-up your
   drawing objects.  The snap grid may be displayed as a series of dots. 
   When a scene is zoomed in, the snap grid is automatically set to the
   zoom scale factor.


                      DETAILED MENU ITEM DESCRIPTIONS


UNDO LAST OPERATION:                                     Shortcut Key = "U"

   If you make a mistake or don't like how the last object(s) look, select
   Undo from the menu grid.  Your scene will be returned to the same
   appearance as before.

   You can NOT "undo" an "undo".


STRAIGHT LINES:                                          Shortcut Key = "L"

   Mouse cursor: Large "+" with a "/" line

   Pick the starting point of the line with the LEFT mouse button. Drag the
   end-point until the line is where you want it.  SHIFT constrains lines
   to horizontal, vertical, or 45-degrees.  The Alt key may be used to move
   a partially completed line.

   The Ctrl key may be used to duplicate identical lines.

   Press the RIGHT mouse button again when you are finished.


GROUPED LINES (END-TO-END):                              Shortcut Key = "G"

   Mouse cursor: Large "+" with a "/" line

   Pick the starting point of a line group with the LEFT mouse button. Drag
   the end-point until the line is where you want it.  SHIFT constrains
   lines to horizontal, vertical, or 45-degrees.  The Alt key may be used
   to move a partially completed line segment.

   Continue to drag line segments until the RIGHT mouse button is pressed.

   The Ctrl key can NOT be used to duplicate group lines.

   Press the RIGHT mouse button again when you are finished.


MULTI-SIDED FIGURES (POLYGONS):                          ShortCut Key = "P"

   Mouse cursor: Large "+" with a small polygon

   Pick the starting point of the polygon with the LEFT mouse button.  Drag
   the end-point until it is where you want it.  SHIFT constrains line
   segments to horizontal, vertical, or 45-degrees.  The Alt key may be
   used to move a partially completed polygon.  Continue to drag and
   release the LEFT mouse button until your polygon is complete.  The RIGHT
   mouse button "closes" the polygon by making the last point the same as
   the first point (if you want "open" "polygons", use Group Lines).

   Polygons may be duplicated using the Ctrl key.

   Press the RIGHT mouse button again when you are finished.


RECTANGLES AND SQUARES:                                  Shortcut Key = "R"

   Mouse cursor: Large "+" with a small rectangle

   Pick the starting point of the rectangle with the LEFT mouse button. 
   Drag the rectangle down and to the right until it is the size you want. 
   Press and hold the SHIFT key to constrain the rectangle to a square. 
   The Alt key may be used to move the partially completed rectangle.

   Rectangles or squares may be duplicated using the Ctrl key.

   Press the RIGHT mouse button again when you are finished.


ROUND CORNER RECTANGLES AND SQUARES:                     Shortcut Key = "N"

   Mouse cursor: Large "+" with a small rectangle.

   This is the same as the Rectangle function, except that the corners are
   rounded.  You can control the size of the corner radii by pressing "1"
   (small), "2" (medium", or "3" (large) before beginning drawing.  Like
   Rectangles, the SHIFT key creates perfect squares.

   Rectangles or squares may be duplicated using the Ctrl key.

   Press the RIGHT mouse button again when you are finished.


CIRCLES:                                                 Shortcut Key = "C"

   Mouse cursor: Large "+" with a small circle

   Pick circle center with the LEFT mouse button. Drag the radius to form a
   circle.  The Alt key may be used to move the partially completed circle.

   Circles may be duplicated using the Ctrl key.

   Press the RIGHT mouse button again when you are finished.


ELLIPSES:                                                Shortcut Key = "E"

   Mouse cursor: Large "+" with a small circle

   Pick the center point of the ellipse with the LEFT mouse button. Drag
   the radius to form a ellipse.  The Alt key may be used to move the
   partially completed ellipse.

   Ellipses may be duplicated using the Ctrl key.

   Press the RIGHT mouse button again when you are finished.


CIRCULAR ARCS:                                           Shortcut Key = "A"

   Mouse cursor: Large "+" with a small arc

   Arcs are draw by creating a straight line "chord" in a similar manner to
   normal straight lines. Then, the "curve" is "pulled" by dragging the
   mouse with the LEFT button down until the radius is what you want.  The
   Alt key may be used to move the partially completed arc.

   Arcs may be duplicated using the Ctrl key.

   Press the RIGHT mouse button again when you are finished.



DOCUMENTATION (COMMENTS):                                Shortcut Key = "D"

   This tool is used to insert documentation or comments into your scene. 
   The comments do not show up on screen but are written to the Pascal
   source file with {  } comment delimiters.

   Documentation is useful for describing key parts of your scene so you
   can understand it later when looking a many lines of Pascal source.


GRAPHICS TEXT:                                           Shortcut Key = "T"

   Mouse cursor: I-beam

   Text is drawn using current character font and size (see below).  Text
   can NOT be entered while zoomed-in.

   Move the cursor to where you want text to start; press the LEFT mouse
   button.  Type text just like a normal Pascal ReadLn.  Back-space and
   snap-to-grid are supported.  RETURN ends the line of text.

   The upper left corner of "System" text begins near the point where the
   LEFT mouse button was pressed.  The other fonts ("stroke" fonts) are
   different.  Line spacing is added by Pascal above your text.  To
   position text precisely, turn Snap "off" and experiment on placement.


CHARACTER FONTS (STYLES) AND SIZES:                      Shortcut Key = "H"

   A dialog box will pop-up showing fonts and sizes.  Five Pascal fonts are
   supported: System, Little, Sans Serif, Triplex, and Gothic.  Sizes
   available are 8-, 16-, 32-, and 64-pixels.

   Select font and size "radio buttons" with the LEFT mouse button.  Then,
   select "OK" or "Cancel" with the LEFT mouse button to finish.


LINE WIDTHS AND STYLES:

   Normal width:  Single-width graphics lines
   Wide width:    Triple-width graphics lines
   Solid lines:   _________ line appearance
   Dotted lines:  ......... line appearance
   Center lines:  -.-.-.-.- line appearance
   Dashed lines:  - - - - - line appearance


FLOOD FILL AN AREA:                                      Shortcut Key = "F"

   Mouse cursor: Paint roller

   You can fill any enclosed area with a solid or pattern fill.  Select
   fill color with the RIGHT mouse key and the drawing color with the LEFT
   mouse button, on the main menu.

   Flood filling works by adding color until a boundary of "drawing color"
   is found.  Thus, both fill and draw color MUST be set correctly or you
   will have fill color all over your scene! (just select "Undo" to fix). 
   If you try to flood fill an object which is not fully enclosed, you will
   have a similar color "leak".

   Be careful of filling objects with non-solid line boundaries!

   You can NOT flood fill with the snap grid dots displayed.

   Press the RIGHT mouse button to finish.


ZOOM IN OR OUT:                                          Shortcut Key = "Z"

   Specify a zoom "window" using the mouse.  Zoom scale factor is the ratio
   of the zoom window to VGA full-screen. Select the upper left corner of
   your zoom rectangle with the LEFT mouse button; drag the window down and
   to the right as desired.  Release the mouse button when finished.  Your
   scene is re-displayed in the zoomed-up view.

   All tools are available when zoomed in except text entry.  When Saving
   or Opening a scene, the current view is zoomed back out to normal size.

   Because of the way Turbo Pascal implements flood fills and enclosed
   object fills (e.g., circles), the fill color and pattern may not appear
   when zoomed in. This is not a defect in SceneBuilder. If your scene
   looks OK in normal view, it will "save" OK.

   "System" text can't be properly zoomed if the beginning of the text
   string is not in the zoom window.  The other (stroke) fonts all zoom OK.

   Re-picking the zoom menu item when zoomed in returns the view to normal.


OPEN SCENE:                                              Shortcut Key = "O"

   A dialog box will appear asking you to type the name of the scene you
   wish to Open.  Scenes can be in any directory if you use the full
   pathname.  Scene file names end in "LST".  Pascal program names end in
   "PAS".  If you don't type the extension, it will be added automatically. 
   There is no "directory" function at this time.

   Scene data is added on top of whatever you now have on-screen.  Drawing
   color, fill, line styles, etc. are set to the last found in an Open'ed
   file.  If you want a fresh scene, select "Blank (New) Scene" from the
   menu grid.

   You can NOT open a new scene when zoomed-in; you must zoom-out first.


SAVE SCENE:                                              Shortcut Key = "S"

   A dialog box will appear asking you to type the name of the scene you
   want your scene Saved to.  Scenes can be saved to any directory if you
   use the full pathname.  Scene file names end in "LST".  Pascal program
   names end in "PAS".  If you don't type the extension, it will be added
   automatically.  There is no "directory" function at this time.

   A runnable Pascal source program is written at the same time. The file
   name is the same as for the LST file, but its extension is "PAS".

   Current drawing parameters such as color, line style, etc. are saved
   along with your scenes.  If you Open and Save the same scene repeatedly,
   the scene and Pascal file sizes will increase because the same drawing
   information is put into the files redundantly.

   You can NOT save a scene when zoomed-in; you must zoom-out first.


BLANK (NEW) SCENE:                                       Shortcut Key = "B"

   This function is used to begin a fresh, new scene.  If you have an
   existing scene, and have not yet saved it, a dialog box will pop-up
   allowing you to save before blanking, blank anyway, or cancel.


TURN SNAP-TO-GRID ON/OFF:

   Snap-to-grid is used to precisely position scene objects.  The snap menu
   item "toggles" between "on" (shown in red) and "off" (shown in black).

   You can NOT turn snap-to-grid off when zoomed in.  This is to avoid
   problems with the position of any scene objects added while zoomed in
   appearing to have changed position.


SET X & Y SNAP VALUES:

   You can select the X and Y snap-to-values with this function.  A dialog
   box will appear showing the currently defined snap coordinates. Press
   RETURN to keep the current value, or type in new values.

   Zooming-in will automatically select the X and Y snap values.


TURN SNAP GRID DISPLAY ON/OFF:

   If you have turned the snap-to-grid feature on, this function will
   display a series of dots spaced at the X and Y snap dimension.  Snap
   grid display "toggles" between "on" (shown in red) and "off" (shown in
   black).

   The snap grid is always drawn first, so that the grid dots will show up. 
   Since this can cause problems when flood filling objects, SceneBuilder
   can NOT flood fill with the grid displayed.  You must turn the snap
   display "off" before trying to fill object.


EXIT (QUIT):                                             Shortcut Key = "X"

   Select this menu grid item to leave SceneBuilder.  If you have not saved
   your scene, a dialog box will pop-up warning you that your scene has not
   been saved.  You can then save the scene, quit anyway without saving, or
   cancel the exit.
